﻿using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Web.UI;
using App_Code.Clases;
using App_Code.Utilidades;
using SubSonic.Repository;

public partial class Mantenimiento_Productos_EditarProducto :Page
{
    readonly SimpleRepository repository= new SimpleRepository("Electro",SimpleRepositoryOptions.None);
    protected void Page_Load(object sender, EventArgs e)
    {
        Validaciones.ValidarSession();
        try
        {
            if (!Page.IsPostBack)
            {
                var idString = Request.QueryString["Id"];
                var idint = int.Parse(idString);
                var producto = repository.Single<Producto>(x => x.Id == idint);
                Nombre.Value = producto.Nombre;
                Codigo.Value = producto.Codigo;
                var modelos = from m in repository.All<Modelo>()
                              select m;
                selectModelo.DataSource = modelos;
                selectModelo.DataTextField = "Nombre";
                selectModelo.DataValueField = "Id";
                selectModelo.SelectedIndex =
                    selectModelo.Items.IndexOf(selectModelo.Items.FindByValue(producto.IdModelo.ToString()));
                selectModelo.DataBind();
                Descripcion.Value = producto.Descripcion;
                txtPrecio.Value = producto.Precio.ToString();
                ImageProd.ImageUrl = "/e-lectrodomesticos/Mantenimiento/RetornarImagen.aspx?Id=" + producto.Id;
            }
        }
        catch(Exception ex)
        {
            
        }
    }

    protected void Guardar(object sender, EventArgs e)
    {
        try
        {
            var idString = Request.QueryString["Id"];
            var idint = int.Parse(idString);
            var producto = repository.Single<Producto>(x => x.Id == idint);
            producto.Nombre = Nombre.Value;
            producto.Descripcion = Descripcion.Value;
            producto.Codigo = Codigo.Value;
            producto.IdModelo = int.Parse(selectModelo.SelectedValue);
            producto.Precio = decimal.Parse(txtPrecio.Value);
            if(cambiarImagen.Checked)
            {
                producto.NombreImagen = ImagenProducto.FileName;
                producto.Imagen = ImagenProducto.FileBytes;
            }
            repository.Update(producto);
            Response.Redirect("/e-lectrodomesticos/Mantenimiento/Productos/VerProductos.aspx");
        }
        catch (Exception ex)
        {

        }
    }
}
